package com.ymatou.iapi.liveinfo.testcase;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Map;

import org.json.JSONException;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import com.ymatou.iapi.liveinfo.parameter.SearchActivityBean;
import com.ymatou.iapi.liveinfo.parameter.SellerActivityBean;
import com.ymatou.iapi.liveinfo.service.SearchActivityCall;
import com.ymt.core.tool.Logger;
import com.ymt.utils.annotation.*;
import com.ymt.utils.tag.*;
import com.ymttest.business.service.LiveCallService;
import com.ymttest.database.mapping.YmtActivityMapper;
import com.ymttest.database.model.YmtActivity;
import com.ymttest.database.mongo.jproduct.LivesWapper;
import com.ymttest.database.sqlwapper.YmtActivityWapper;
import com.ymttest.utils.EnvSetup;
/**
*运营后台搜索直播
*FreeMaker Template自动生成代码
*/
@TestSuite
public class Ts_SearchActivity{
	private static int sellerId = Integer.parseInt(EnvSetup.getData("productsellerid"));
	private static String sellerName = EnvSetup.getData("productsellername");
	private static SearchActivityBean bean;
	private static SearchActivityCall call;
	private  YmtActivityWapper ymtActivityWapper;
	@BeforeClass
	public static void setUp() {
		Logger.createResultFile("运营后台搜索直播");
	}

	@Before
	public void caseUp() {
		bean=new SearchActivityBean();
		call=new SearchActivityCall();
		ymtActivityWapper=new YmtActivityWapper();
	}

	@AfterClass
	public static void tearDown() {
		Logger.generateResult(call.getOpurl());
	}

	@After
	public void caseDown() {
		Logger.end();
	}
	@Test
	@Category({P1.class})
	@TestCase
	public void Tc_SearchActivity_001() {
		Logger.start(true,"根据直播Id查询运营后台搜索直播");
		try {
//		    int lid=LiveCallService.createLiveInProgress(sellerName,sellerId).getJSONObject("Data").getInt("ActivityId");
//			LiveCallService.CreateLivesProductByLivesId(sellerId,sellerName,lid);
//			Thread.sleep(1000); 
			//bean.setActivityId(0);
			
			call.setData(bean);
			call.callService();			
			
		} catch (Exception e) {
			Logger.fail(e);
		}
	}
	
//	private  List<YmtActivity> searchActivity(SellerActivityBean bean) throws InterruptedException
//	{
//		List<YmtActivity> actList=new ArrayList();
//		actList=ymtActivityWapper.searchActivity(bean);
//		
//		return actList;
//	}
//	private void GetVerify(SellerActivityBean bean) throws Exception
//	{
//		LivesWapper wapper=new LivesWapper();
//		List<YmtActivity> actList =searchActivity(bean);
//		if(actList.size()>0)
//       {
//		  for(YmtActivity lst:actList){
//			Logger.verifyEquals(200, call.getCode(), "判断code是否为200");
//			Logger.verifyEquals("操作成功",call.getMsg(), "判断Msg返回操作成功");
//			Logger.verifyEquals(0,call.getBCode(), "判断操作成功时 业务代码是否0");
//			Logger.verifyNotNull(call.getServerTime(), "判断服务器时间是否为空");
//			Logger.verifyEquals(lst.getsTitle(), call.getData().getString("Title"), "验证直播title是否与mongodb一致");
//			Logger.verifyEquals(lst.getsVideoCover(),call.getData().getString("VideoCover"), "验证直播VideoCover是否与mongodb一致");
//			Logger.verifyEquals(lst.getsVideoUrl(), call.getData().getString("VideoUrl"), "验证直播VideoUrl是否与mongodb一致");
//			Logger.verifyEquals(lst.getIaction().toString(), call.getData().getString("Action").toString(), "验证直播Action是否与mongodb一致");
//			Logger.verifyEquals(lst.getScontent(), call.getData().getString("ActivityId").toString(), "验证直播ActivityId是否与mongodb一致");
//			Logger.verifyEquals(lst.getSname(), call.getData().getString("ActivityName"), "验证直播ActivityName是否与mongodb一致");
//			Logger.verifyEquals(lst.getSpicurl(), call.getData().getString("ActivityPicture"), "验证直播ActivityPicture是否与mongodb一致");
//
//			Logger.verifyEquals((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(lst.getDaddtime()).toString(), call.getData().getString("AddTime").toString(), "验证直播AddTime是否与mongodb一致");
//			//Logger.verifyEquals(lst.getsc("country"), call.getData().getString("Country"), "验证直播Country是否与mongodb一致");
//			Logger.verifyEquals((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(lst.getDendtime()), call.getData().getString("EndTime"), "验证直播EndTime是否与mongodb一致");
//			Logger.verifyEquals(lst.getIsellerid().toString(), call.getData().getString("SellerId").toString(), "验证直播SellerId是否与mongodb一致");
//			Logger.verifyEquals(lst.getSposition(), call.getData().getString("ShopAddress"), "验证直播ShopAddress是否与mongodb一致");
//			Logger.verifyEquals((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(lst.getDbegintime()), call.getData().getString("StartTime"), "验证直播StartTime是否与mongodb一致");
//			Logger.verifyEquals(lst.getbAppConfirmed(), call.getData().getString("AppConfirmed"), "验证直播AppConfirmed是否与mongodb一致");
//			Logger.verifyEquals(lst.getiDeliveryType(), call.getData().getInt("DeliverType"), "验证直播DeliverType是否与mongodb一致");
//			
//			//Logger.verifyEquals(lst.get("content"), call.getData().getString("ActivityInfo"), "验证直播ActivityInfo是否与mongodb一致");
//			String start=(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(lst.getDaddtime());
//			String end=(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(lst.getDendtime());
//			//Logger.verifyEquals(GetActivityStatusText(lst,start,end), call.getData().getString("ActivityStatusText"), "验证直播ActivityStatusText是否与mongodb一致");
//		}
//	 }
//	}
//	private String GetActivityStatusText(Map<String,Object> lst,String start1,String end1) throws ParseException, JSONException
//	{
//		String text="";
//		Date currentTime = new Date();
//
//		if((int)lst.get("action")==1 )
//		{
//			Calendar calendar  =  new   GregorianCalendar(); 
//			calendar.setTime(currentTime); 
//			calendar.add(calendar.HOUR,1);
//			Date newCurrentTime=calendar.getTime();
//			
//			SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//			Date start=format.parse(start1);
//			Date end=format.parse(end1);
//			if((boolean)lst.get("confirm")==true && ((currentTime.after(start)|| currentTime==start)&& (end.after(currentTime)|| currentTime==end)))
//				text="直播中";
//			else if((boolean)lst.get("confirm")==true && start.after(currentTime) && end.after(start))
//				text="即将开始";
//			else if((boolean)lst.get("confirm")==false && end.after(newCurrentTime))
//				text="未生效";
//			else
//				text="已结束";
//		}
//		return text;
//	}
}